'use strict'
define([ 'jquery', 'bootstrap', 'select2', 'bodyform', 'shiftform', 'validate',
    'validate.en'], function($) {
  return {
    init : function() {
      this.initPage();
      this.initSelect2();
      this.submitForm();
    },
    
    initPage : function() {
      var that = this;
//      $('[data-toggle="popover"]').popover({
//        trigger: 'manual'
//      })
//      $(document).on("mouseout", '[type="submit"]', function() {
//        setTimeout(function(){
//          $('[data-toggle="popover"]').popover('hide')
//        }, 1500)
//      })
//      $("input[type='checkbox']").on("change", function(e) {
//        if($(this).prop("checked")) {
//          $(this).parents(".readiness-gruop").addClass("active");
//        } else {
//          $(this).parents(".readiness-gruop").removeClass("active");
//          $(this).parents(".readiness-gruop").find("select.select2").val();
//        }
//      })
    },
    
    initSelect2: function() {
      $('.select2').select2({
        theme : "classic",
        minimumResultsForSearch : -1,
        allowClear : true,
      });
        
    },
    
    validateForm: function() {
      var result = true;
      var length = $("input[type='checkbox']:checked").length;
      if(length == 0) {
        $($("input[type='checkbox']")[0]).parents(".col-xs-4").popover('show');
        result = false
      } else {
        
        $("input[type='checkbox']:checked").each(function(e) {
          var select2Value = $(this).parents(".readiness-gruop").find("select.select2").val();
          if(!select2Value) {
            $(this).parents(".readiness-gruop").find("select.select2").show_tooltip($.bt_validate.text.required, 'remove', '#F2DEDE', '#EBCCD1', '#B94A48');
            result = false;
          }
        })
      }
      return result
    },
    
    submitForm: function() {
      var $form = $('.ms-form')
      var that = this;
        $form.unbind("validate.ajax.submit");
        $form.find("button[type='submit']").unbind("click");
        $form.bt_validate()  //bind validate
        $form.bodyform({
          beforeSubmit : function(el) {
//            var result = that.validateForm();
//            if(result) {
//              $form.trigger("validate.ajax.submit");
//              return $.bt_validate.result[$.bt_validate.form_id];
//            } else {
//              return result;
//            }
        	  
        	$form.trigger("validate.ajax.submit");
            return $.bt_validate.result[$.bt_validate.form_id];
          }
        })
    }
  }
})